import java.util.Scanner;

public class Note {
    public static void main(String[] args) {
        //this的本质是代表方法调用者的地址值
        //API(Application Programming Interface):应用程序编程接口

        // String s1 = "abc";
        // System.out.println(s1);//abc
        //使用new的方式来获取一个字符串对象
        //空参构造:可以获取一个空白的字符串对象

        // String s2 = new String();
        // System.out.println("@" + s2 + "!");//s2 --> ""

        //传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象
        //应用场景:修改字符串的内容
        // char[] chars = {'a','b','c','d'};
        // String s4 = new String(chars);
        // System.out.println(s4);//abcd

        //传递一个字节数组,根据字节数组的内容再创建一个新的字符串的对象
        //应用场景:以后再网络当中传输的数据其实都是字节信息
        //我们一般要把字节信息进行转换,转成字符串,此时就要用到这个构造了
        // byte[] bytes = {97,98,99,100};
        // String s5 = new String(bytes);
        // System.out.println(s5);//abcd

        //创建两个字符串对象
        // String s1 = new String("abc");
        // String s2 = "abc";
        // String s3 = "Abc";

        //2.==号比较
        //基本数据类型:比较的是数据值
        //引用数据类型:比较的是地址值
        // System.out.println(s1 == s2);//false

        //比较字符串对象中的内容是否完全相等
        // boolean result = s1.equals(s2);
        // System.out.println(result);//true
        // boolean result2 = s1.equals(s3);
        // System.out.println(result2);//false

        //比较字符串对象中的内容是否相等,忽略大小写
        // boolean result3 = s1.equalsIgnoreCase(s3);
        // System.out.println(result3);//true

        //1.假设我现在键盘录入一个abc
        // Scanner sc = new Scanner(System.in);
        // System.out.println("请输入一个字符串:");
        // String str1 = sc.next();//是 new 出来的
        // //2.代码中再定义一个字符串abc
        // String str2 = "abc";
        // //用==比较,两者能一样吗?
        // System.out.println(str1 == str2);//false

        //结论:以后想比较字符串的内容,就必须要用String里面的方法




    }


}
